The present invention relates to data storage devices and in particular although not exclusively to tape data storage devices having a capability of writing data simultaneously to a plurality of tracks.
In order to store digital electronic data, it is known to use magnetic tape data cartridges which are inserted into a tape drive unit having a plurality of read/write heads. Typically such magnetic tape storage devices may be used to back up data generated by a host device, e.g. a computer.
As the drive for greater data storage capacity necessitates narrower tracks on linear tape data storage devices, individual codewords are at greater risk of being corrupted during the write to tape process due to, for example, a scratch on the magnetic coating of a tape storage medium.
It is known in tape storage devices to configure the write and read heads such that data written to tape can immediately be read back from tape to verify whether or not the data has become corrupted during the writing process. In the case of discrete blocks of data associated with, for example, the output of a computer, it may be possible to rewrite the corrupted codewords detected.
However, simply rewriting one bad block of a plurality of codewords that may be written to tape simultaneously using a plurality of read/write heads would necessitate that any subsequent codewords recorded on tape would need to be reordered. In addition, as the number of rewrite operations increases so the reordering of subsequently written data would become increasingly complex.
The specific embodiments and methods according to the present invention aim to improve the writing of data in high data density tape systems having a plurality of read/write heads, and thereby improving the reliability of such devices.
Specific methods according to the present invention, recognize that if corrupted data is re-written to a plurality of tracks in a different track order to that of a previously written version of the data, then data previously effected by surface damage can be written to tape successfully.
According to a first aspect of the present invention there is provided a method of writing data to a data storage medium. The method comprises the steps of:
partitioning the data into a plurality of codewords;
distributing the codewords amongst a plurality of write heads which write on a plurality of physical tracks of the data storage medium;
performing a write operation to write the codewords substantially simultaneously to the same plurality of physical tracks of the data storage medium;
performing a read operation to read the codewords from the plurality of physical tracks;
if the codewords read from the plurality of tracks contain errors, then re-distributing the codewords originally written to the data storage medium in a different order amongst the plurality of write heads; and
performing a rewrite operation to rewrite the redistributed Codewords to the same plurality of physical tracks of the data storage medium.
Preferably, the data storage medium comprises an elongate tape, and the write operation comprises a write pass along a length of the tape.
The step of distributing codewords amongst a plurality of write heads preferably comprises distributing a plurality of Codeword Quads amongst the plurality of write heads. A set of four codewords is termed a Codeword Quad herein.
Preferably each of the plurality of Codeword Quads is allocated to a corresponding write head.
Preferably, the step of performing a write operation comprises simultaneously writing the plurality of Codeword Quads onto the data storage medium through the write heads.
The plurality of Codeword Quads may be arranged into a logical track block for writing to the data storage medium simultaneously, and the position of an individual Codeword Quad within the logical track block is indicated by an integer number.
A plurality of the Codeword Quads to be written simultaneously may be arranged into a logical track block;
the Codeword Quads of each of the logical track blocks may be allocated to corresponding ones of the plurality of write heads in a first order, and
if an error is detected in the Codeword Quads once written to the data storage medium, the Codeword Quads of the logical track block are re-allocated to the write heads in the different order.
Preferably, the position of the Codeword Quads within the logical track block is denoted by an integer number.
Preferably, each of the Codeword Quads of the logical track block corresponds with a respective one of the plurality of write heads.
The first order may be determined by the expression:   Track_Number  =      Mod    ⁡          [                                    (                          CQ_Number              -                              Mod                ⁡                                  (                                      CQ_Number                    ,                    N_T                                    )                                                              N_T                ,        N_T            ]      
where the Track_Number represents a number of an element of a logical track block, CQ_Number represents a number of a set of four codewords, Mod represents the integer remainder of a modulo division; and N_T represents the number of simultaneously written tracks.
The different order may be determined by an expression:   Track_Number  =      Mod    ⁡          [                                                  (                              CQ_Number                -                                  Mod                  (                                      CQ_Number                    ,                    N_T                                    )                                                      N_T                    -          W                ,        N_T            ]      
where Track_Number represents a number of an element of a logical track block, CQ_Number represents the number of a set of four codewords, Mod represents the integer remainder of a modulo division; W represents the state of a character which cycles through a sequence of integers 0 to Mxe2x88x921, where M represents the number of active tracks which can be written to simultaneously; and N_T represents the number of tracks simultaneously written.
Preferably, the data storage medium comprises a magnetic data storage medium, for example a cassette tape cartridge comprising an elongate band of tape wound about a reel.
The invention includes a data storage device comprising at least one read element and at least one write element The device comprises means capable of writing data to a data storage medium and means capable of reading the written data from the data storage medium, wherein:
the write means is operable to partition the data into a plurality of codewords;
the write means is operable to distribute the codewords amongst a plurality of write heads;
the write means is operable to perform a write operation to write the codewords substantially simultaneously to a plurality of physical tracks of the data storage medium;
the read means is operable to perform a read operation to read the codewords from the plurality of physical tracks;
if the codewords read from the plurality of tracks are incomplete, then the device is operable to redistribute the codewords originally written to the data storage medium in a different order amongst the plurality of write heads; and
the device is operable to perform a re-write operation to re-write the re-distributed codewords to the same plurality of physical tracks of the data storage medium.
The invention includes a data storage medium comprising a plurality of codewords in a plurality of track blocks. Each of the track blocks comprises a plurality of codewords. A plurality of codewords belonging to a first logical track block are in a set of tracks in a first order. If the plurality of codewords have been erroneously written at the first position occupied by the logical track block, the plurality of codewords are in the plurality of tracks in a second order, at a second position on the plurality of tracks.
The data storage medium optimally comprises a magnetic tape data storage medium.
The invention includes a method of rewriting corrupt data which protects against the effects of extended data to the storage medium.